home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / PeerAware 1.03 / PeerAware-Setup.exe / Html / hub.js < prev    next >
Text File  |  2008-08-31  |  7KB  |  257 lines

  1. /*
  2. <!-- ***** BEGIN LICENSE BLOCK *****
  3.    - Version: MPL 1.1/LGPL 2.1
  4.    -
  5.    - The contents of this file are subject to the Mozilla Public License Version
  6.    - 1.1 (the "License"); you may not use this file except in compliance with
  7.    - the License. You may obtain a copy of the License at
  8.    - http://www.mozilla.org/MPL/
  9.    -
  10.    - Software distributed under the License is distributed on an "AS IS" basis,
  11.    - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12.    - for the specific language governing rights and limitations under the
  13.    - License.
  14.    -
  15.    - The Original Code is PeerAware Workspace User Interface.
  16.    -
  17.    - The Initial Developer of the Original Code is
  18.    - Imunin Software Inc.
  19.    - Portions created by the Initial Developer are Copyright (C) 2006-2008
  20.    - the Initial Developer. All Rights Reserved.
  21.    -
  22.    - Contributor(s):
  23.    -
  24.    - Alternatively, the contents of this file may be used under the terms of
  25.    - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26.    - in which case the provisions of the LGPL are applicable instead
  27.    - of those above. If you wish to allow use of your version of this file only
  28.    - under the terms of the LGPL, and not to allow others to
  29.    - use your version of this file under the terms of the MPL, indicate your
  30.    - decision by deleting the provisions above and replace them with the notice
  31.    - and other provisions required by the LGPL. If you do not delete
  32.    - the provisions above, a recipient may use your version of this file under
  33.    - the terms of any one of the MPL or the LGPL.
  34.    -
  35.    - ***** END LICENSE BLOCK ***** --> 
  36. */
  37. //Generic code for PeerAware.
  38. var mode = 'w';
  39. var iWorkspaceName;
  40. var iMyName;
  41. var iRemoteName;
  42. var iConnectionStatus;
  43. var iConnectionMode;
  44. var iLoaded = false;
  45. var gTextEditMode = false;
  46. function SetStatus(aConnectionMode, aConnectionStatus, aWorkspaceName, aMyName, aRemoteName)
  47. {
  48.     iWorkspaceName = aWorkspaceName;
  49.     iMyName = aMyName;
  50.     iRemoteName = aRemoteName;
  51.     iConnectionStatus = aConnectionStatus;
  52.     iConnectionMode = aConnectionMode;
  53. }
  54. function $2(aID){return document.getElementById(aID)}
  55. function show(object){document.all[object].style.visibility='visible';document.all[object].style.display='';}
  56. function hide(object){document.all[object].style.visibility='hidden';document.all[object].style.display='none';}
  57. function handleclick(aID){
  58.     var tabobj=document.getElementById("tablist")
  59.     var tabobjlinks=tabobj.getElementsByTagName("li")
  60.     for (i=0; i<tabobjlinks.length; i++)
  61.         tabobjlinks[i].id="";
  62.     tabobjlinks[aID].id="current";
  63. }
  64. function setFocus()
  65. {
  66.     try
  67.     {
  68.         document.getElementById("input").focus();
  69.         // at least Internet Explorer 7
  70.         //var gteIE7 = false /*@cc_on || @_jscript_version >= 5.7 @*/;
  71.  
  72.         //if (!gteIE7)
  73.         {
  74.             var x = document.getElementById("c");
  75.             h = x.scrollHeight;
  76.             x.scrollTop = h;
  77.         }
  78.     }
  79.     catch (E){}
  80. }
  81. function Activate(object)
  82. {
  83.     if (object=='w' && mode=='c')
  84.     {
  85.         handleclick(1);
  86.         var obj=document.getElementById("c");
  87.          var scroll=false;
  88.         if (obj.scrollHeight-obj.clientHeight <= obj.scrollTop)
  89.             scroll=true;
  90.  
  91.         mode='w';
  92.         show('w');
  93.         setPageSize();
  94.         if (scroll)
  95.         {
  96.             obj.scrollTop = obj.scrollHeight
  97.         }
  98.     }
  99.     else if(object=='c' && mode=='w')
  100.     {
  101.         handleclick(0);
  102.         var obj=document.getElementById("c");
  103.         hide('w');
  104.         mode='c';
  105.         show('c');
  106.     }
  107. }
  108. function transmit(user, application, message)
  109. {
  110.     if (typeof(window.external)!="undefined" && typeof(window.external.transmit)!="undefined")
  111.         window.external.transmit(user, application, message);
  112. }
  113. function broadcast(application, message)
  114. {
  115.     if (typeof(window.external)!="undefined" && typeof(window.external.broadcast)!="undefined")
  116.         window.external.broadcast(application, message);
  117. }
  118. function scroll(message)
  119. {
  120.     var x = document.getElementById("c");
  121.      var scroll=false;
  122.     if (x.scrollHeight-x.clientHeight <= x.scrollTop)
  123.         scroll=true;
  124.  
  125.     var hr = document.createElement("div");
  126.     hr.innerHTML = message;
  127.     x.appendChild(hr);
  128.  
  129.     if (scroll)
  130.     {
  131.         h = x.scrollHeight;
  132.         x.scrollTop = h;
  133.     }
  134. }
  135.  
  136. function getTranslation(aID)
  137. {
  138.     if (typeof(window.external)!="undefined" && typeof(window.external.getTranslation)!="undefined")
  139.         return window.external.getTranslation(aID);
  140. }
  141.  
  142. function setLanguageStrings()
  143. {
  144.     $2("input").title=getTranslation(214);
  145.     $2("sendbutton").value = getTranslation(215);
  146.     $2("whiteboardtitle").innerHTML = getTranslation(212);
  147.     $2("chattitle").innerHTML = getTranslation(211);
  148.     $2("welcome").innerHTML = getTranslation(237);
  149.     $2("pwlogin2").innerHTML = getTranslation(238);
  150.     $2("loginbutton2").value = getTranslation(239);
  151.     $2("rememberpw2").innerHTML = getTranslation(266);
  152. }
  153.  
  154. function startPage()
  155. {
  156.     setLanguageStrings();
  157.     Activate('c');
  158.     if (iLoaded==false)
  159.     {
  160.         if (typeof(window.external)!="undefined" && typeof(window.external.pageLoaded)!="undefined")
  161.             window.external.pageLoaded();
  162.         iLoaded = true;
  163.     }
  164. }
  165.  
  166. function receive(aFrom, aApplication, aMessage)
  167. {
  168.     if (aApplication == 'w')
  169.     {
  170.         setUser(iMyName);
  171.         handleRemoteCommand(aFrom + " " + aMessage);
  172.     }
  173. }
  174. function sendText()
  175. {
  176.     if (typeof(window.external)!="undefined" && typeof(window.external.chat)!="undefined")
  177.     {
  178.         window.external.chat(document.getElementById("input").value);
  179.         document.getElementById("input").value="";
  180.     }
  181. }
  182. function CatchEvent (area, evt) {
  183.     if (evt.keyCode == 13 && !evt.shiftKey && !evt.ctrlKey && !evt.altKey) {
  184.         sendText();
  185.     }
  186. }
  187. function filter(area, evt) {
  188.     if (evt.keyCode == 13 && !evt.shiftKey && !evt.ctrlKey && !evt.altKey) {
  189.         return false;
  190.     }
  191.         return true;
  192. }
  193.  
  194. function RequestPassword()
  195. {
  196.     var body = document.getElementsByTagName("body")[0];
  197.     body.style.backgroundColor = "#f0f0f0";
  198.  
  199.     hide("tabs1");
  200.     hide("w");
  201.     hide("c");
  202.     hide("editarea");
  203.     show("login");
  204.     //document.getElementById("loginname").innerHTML = iMyName;
  205.     //document.getElementById("workspacename").innerHTML = iWorkspaceName;
  206.     document.getElementById("password").focus();
  207. }
  208.  
  209. function sendPw()
  210. {
  211.     var body = document.getElementsByTagName("body")[0];
  212.     body.style.backgroundColor = "white";
  213.     if (typeof(window.external)!="undefined" && typeof(window.external.setPassword)!="undefined")
  214.     {
  215.         var remember;
  216.         if (document.getElementById("rememberpw").checked)
  217.             remember="Y";
  218.         window.external.setPassword(document.getElementById("password").value, remember);
  219.         document.getElementById("password").value="";
  220.         show("tabs1");
  221.         show("c");
  222.         show("editarea");
  223.         hide("login");
  224.         document.getElementById("input").focus();
  225.     }
  226. }
  227.  
  228. function setPageSize()
  229. {
  230.     if (mode=='w')
  231.     {
  232.         var obj=document.getElementById("c");
  233.         obj.style.height = 102;
  234.         obj.style.width = document.documentElement.clientWidth;
  235.         if (document.documentElement.clientHeight-222>0)
  236.             document.all["w"].height=document.documentElement.clientHeight-222;
  237.  
  238.         setPageSize2();
  239.     }
  240.     else
  241.     {
  242.         var obj=document.getElementById("c");
  243.         obj.style.width = document.documentElement.clientWidth;
  244.         if (document.documentElement.clientHeight-117 > 0)
  245.         {
  246.             obj.style.height=document.documentElement.clientHeight-117;
  247.         }
  248.     }
  249. }
  250.  
  251. function insert(text)
  252. {
  253.     document.getElementById("input").focus();
  254.     sel = document.selection.createRange(); 
  255.     sel.text = text;
  256. }
  257.